package ai.people.platform.oss.properties;

import com.aliyun.oss.ClientBuilderConfiguration;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * 阿里oss客户属性
 *
 * @author yuanqinglong
 * @date 2022/4/27 13:47
 */
@Data
@ConfigurationProperties("aliyun.client")
public class AliOssClientProperties {

    /**
     * 连接空闲超时时间，超时则关闭连接（单位：毫秒）。默认为60000毫秒。
     */
    private Long idleConnectionTime = ClientBuilderConfiguration.DEFAULT_IDLE_CONNECTION_TIME;

    /**
     * 建立连接的超时时间（单位：毫秒）。默认为50000毫秒
     */
    private Integer connectionTimeout = ClientBuilderConfiguration.DEFAULT_CONNECTION_TIMEOUT;

    /**
     * 允许打开的最大HTTP连接数。默认为1024。
     */
    private Integer maxConnections = ClientBuilderConfiguration.DEFAULT_MAX_CONNECTIONS;

    /**
     * Socket层传输数据的超时时间（单位：毫秒）。默认为50000毫秒
     */
    private Integer socketTimeout = ClientBuilderConfiguration.DEFAULT_SOCKET_TIMEOUT;

    /**
     * 请求失败后最大的重试次数。默认3次。
     */
    private Integer maxErrorRetry = ClientBuilderConfiguration.DEFAULT_MAX_RETRIES;

}
